// Clang 预处理过的 oes_packets.h

# 250 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h" 2



extern "C" {
# 330 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCursor {

    int32 seqNo;


    int8 isEnd;

    int8 __filler[3];


    int64 userInfo;
} OesQryCursorT;
# 353 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryReqHead {

    int32 maxPageSize;

    int32 lastPosition;
} OesQryReqHeadT;
# 370 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryRspHead {

    int32 itemCount;

    int32 lastPosition;


    int8 isEnd;

    uint8 __filler[7];


    int64 userInfo;
} OesQryRspHeadT;
# 399 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOrdFilter {

    char custId[(16)];

    char invAcctId[(16)];





    uint8 mktId;

    uint8 isUnclosedOnly;

    int8 clEnvId;

    uint8 securityType;

    uint8 bsType;

    uint8 __filler[3];


    int64 clOrdId;

    int64 clSeqNo;


    int32 startTime;

    int32 endTime;


    int64 userInfo;
} OesQryOrdFilterT;
# 448 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesOrdCnfmT OesOrdItemT;
# 460 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOrdReq {

    OesQryReqHeadT reqHead;

    OesQryOrdFilterT qryFilter;
} OesQryOrdReqT;
# 478 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOrdRsp {

    OesQryRspHeadT rspHead;

    OesOrdItemT qryItems[(30)];
} OesQryOrdRspT;
# 500 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryTrdFilter {

    char custId[(16)];

    char invAcctId[(16)];





    uint8 mktId;

    int8 clEnvId;

    uint8 securityType;

    uint8 bsType;

    uint32 __filler;


    int64 clOrdId;

    int64 clSeqNo;


    int32 startTime;

    int32 endTime;


    int64 userInfo;
} OesQryTrdFilterT;
# 547 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesTrdCnfmT OesTrdItemT;
# 559 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryTrdReq {

    OesQryReqHeadT reqHead;

    OesQryTrdFilterT qryFilter;
} OesQryTrdReqT;
# 576 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryTrdRsp {

    OesQryRspHeadT rspHead;

    OesTrdItemT qryItems[(30)];
} OesQryTrdRspT;
# 598 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCashAssetFilter {

    char custId[(16)];

    char cashAcctId[(16)];


    int64 userInfo;
} OesQryCashAssetFilterT;
# 618 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesCashAssetItem {
    char cashAcctId[(16)]; char custId[(16)]; uint8 currType; uint8 cashType; uint8 cashAcctStatus; uint8 isFundTrsfDisabled; uint8 __CASH_ASSET_BASE_filler[4]; int64 beginningBal; int64 beginningAvailableBal; int64 beginningDrawableBal; int64 disableBal; int64 reversalAmt; int64 manualFrzAmt; int64 totalDepositAmt; int64 totalWithdrawAmt; int64 withdrawFrzAmt; int64 totalSellAmt; int64 totalBuyAmt; int64 buyFrzAmt; int64 totalFeeAmt; int64 feeFrzAmt; int64 marginAmt; int64 marginFrzAmt;
    int64 currentTotalBal; int64 currentAvailableBal; int64 currentDrawableBal; struct { int64 initialMargin; int64 totalExerciseFrzAmt; int64 pendingSupplMargin; int64 sseAvailablePurchaseLimit; int64 szseAvailablePurchaseLimit; int64 totalMarketMargin; int64 totalNetMargin; } optionExt; char __CASH_ASSET_EXT_reserve[16];
} OesCashAssetItemT;
# 634 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCashAssetReq {

    OesQryReqHeadT reqHead;

    OesQryCashAssetFilterT qryFilter;
} OesQryCashAssetReqT;
# 652 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCashAssetRsp {

    OesQryRspHeadT rspHead;

    OesCashAssetItemT qryItems[(30)];
} OesQryCashAssetRspT;
# 674 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesCounterCashItem {

    char cashAcctId[(16)];

    char custId[(16)];

    char custName[(64)];

    char bankId[(8)];

    uint8 cashType;
    uint8 cashAcctStatus;
    uint8 currType;
    uint8 isFundTrsfDisabled;
    uint8 __filler[4];

    int64 counterAvailableBal;
    int64 counterDrawableBal;
    int64 counterCashUpdateTime;

    char __reserve[32];
} OesCounterCashItemT;
# 710 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCounterCashReq {

    char cashAcctId[(16)];
} OesQryCounterCashReqT;
# 725 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCounterCashRsp {

    OesCounterCashItemT counterCashItem;
} OesQryCounterCashRspT;
# 744 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStkHoldingFilter {

    char custId[(16)];

    char invAcctId[(16)];

    char securityId[(16)];


    uint8 mktId;

    uint8 securityType;

    uint8 productType;

    uint8 __filler[5];


    int64 userInfo;
} OesQryStkHoldingFilterT;
# 776 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesStkHoldingItem {
    char invAcctId[(16)]; char securityId[(16)]; uint8 mktId; uint8 securityType; uint8 subSecurityType; uint8 productType; uint8 __HOLD_BASE_filler[4]; int64 originalHld; int64 originalCostAmt; int64 totalBuyHld; int64 totalSellHld; int64 sellFrzHld; int64 manualFrzHld; int64 totalBuyAmt; int64 totalSellAmt; int64 totalBuyFee; int64 totalSellFee; int64 totalTrsfInHld; int64 totalTrsfOutHld; int64 trsfOutFrzHld; int64 originalLockHld; int64 totalLockHld; int64 totalUnlockHld; int64 originalAvlHld; int64 maxReduceQuota;
    int64 sellAvlHld; int64 trsfOutAvlHld; int64 lockAvlHld; int64 __filler; int64 sumHld; int64 costPrice;
} OesStkHoldingItemT;
# 792 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStkHoldingReq {

    OesQryReqHeadT reqHead;

    OesQryStkHoldingFilterT qryFilter;
} OesQryStkHoldingReqT;
# 810 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStkHoldingRsp {

    OesQryRspHeadT rspHead;

    OesStkHoldingItemT qryItems[(30)];
} OesQryStkHoldingRspT;
# 832 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptHoldingFilter {

    char custId[(16)];

    char invAcctId[(16)];

    char securityId[(16)];


    uint8 mktId;

    uint8 positionType;

    uint8 __filler[6];


    int64 userInfo;
} OesQryOptHoldingFilterT;
# 862 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesOptHoldingItem {
    char invAcctId[(16)]; char securityId[(16)]; uint8 mktId; uint8 positionType; uint8 productType; uint8 securityType; uint8 subSecurityType; uint8 contractType; uint8 hedgeFlag; uint8 __HOLD_BASE_filler; int64 originalQty; int64 originalAvlQty; int64 originalCostAmt; int64 originalCarryingAmt; int64 totalOpenQty; int64 uncomeQty; int64 totalCloseQty; int64 closeFrzQty; int64 manualFrzQty; int64 totalInPremium; int64 totalOutPremium; int64 totalOpenFee; int64 totalCloseFee; int64 exerciseFrzQty; int64 positionMargin; char __OPT_HOLDING_BASE_reserve[32];
    int64 closeAvlQty; int64 exerciseAvlQty; int64 sumQty; int64 costPrice; int64 carryingAvgPrice; int64 coveredAvlUnderlyingQty; int32 availableLongPositionLimit; int32 availableTotalPositionLimit; int32 availableDailyBuyOpenLimit; int32 __OPT_HOLDING_EXT_filler2; char __OPT_HOLDING_EXT_reserve[32];


    char contractId[(24)];

    char contractSymbol[(24)];

    int64 prevSettlPrice;
} OesOptHoldingItemT;
# 886 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptHoldingReq {

    OesQryReqHeadT reqHead;

    OesQryOptHoldingFilterT qryFilter;
} OesQryOptHoldingReqT;
# 904 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptHoldingRsp {

    OesQryRspHeadT rspHead;

    OesOptHoldingItemT qryItems[(30)];
} OesQryOptHoldingRspT;
# 927 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCustFilter {

    char custId[(16)];


    int64 userInfo;
} OesQryCustFilterT;
# 945 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesCustBaseInfoT OesCustItemT;
# 957 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCustReq {

    OesQryReqHeadT reqHead;

    OesQryCustFilterT qryFilter;
} OesQryCustReqT;
# 975 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCustRsp {

    OesQryRspHeadT rspHead;

    OesCustItemT qryItems[(30)];
} OesQryCustRspT;
# 997 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryInvAcctFilter {

    char custId[(16)];

    char invAcctId[(16)];





    uint8 mktId;

    uint8 __filler[7];


    int64 userInfo;
} OesQryInvAcctFilterT;
# 1026 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesInvAcctItem {
    char invAcctId[(16)]; uint8 mktId; uint8 acctType; uint8 status; uint8 ownerType; uint8 optInvLevel; uint8 isTradeDisabled; uint8 __INV_ACCT_BASE_filler[2]; uint64 limits; uint64 permissions; int32 pbuId; int32 stkPositionLimitRatio; int32 subscriptionQuota; int32 kcSubscriptionQuota; char __INV_ACCT_BASE_reserve[32];


    char custId[(16)];
} OesInvAcctItemT;
# 1044 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryInvAcctReq {

    OesQryReqHeadT reqHead;

    OesQryInvAcctFilterT qryFilter;
} OesQryInvAcctReqT;
# 1062 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryInvAcctRsp {

    OesQryRspHeadT rspHead;

    OesInvAcctItemT qryItems[(30)];
} OesQryInvAcctRspT;
# 1084 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesInvAcctOverview {

    char invAcctId[(16)];

    uint8 mktId;


    uint8 acctType;

    uint8 status;

    uint8 ownerType;

    uint8 optInvLevel;

    uint8 isTradeDisabled;

    uint8 __INV_ACCT_BASE_filler[2];


    uint64 limits;

    uint64 permissions;


    int32 pbuId;

    int32 subscriptionQuota;


    char custId[(16)];

    uint8 isValid;
    uint8 __filler[3];
    int32 kcSubscriptionQuota;

    int32 trdOrdCnt;
    int32 nonTrdOrdCnt;
    int32 cancelOrdCnt;
    int32 oesRejectOrdCnt;
    int32 exchRejectOrdCnt;
    int32 trdCnt;

    char __reserve[8];
} OesInvAcctOverviewT;
# 1147 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesCashAcctOverview {

    char cashAcctId[(16)];

    char custId[(16)];

    char bankId[(8)];

    uint8 isValid;
    uint8 cashType;
    uint8 cashAcctStatus;
    uint8 currType;
    uint8 isFundTrsfDisabled;
    uint8 __filler[3];

    char __reserve[8];
} OesCashAcctOverviewT;
# 1177 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesCustOverview {
    char custId[(16)]; uint8 custType; uint8 status; uint8 riskLevel; uint8 originRiskLevel; uint8 institutionFlag; uint8 investorClass; uint8 optSettlementCnfmFlag; uint8 __CUST_BASE_filler1; int32 branchId; uint32 __CUST_BASE_filler2;


    char custName[(64)];

    OesCashAcctOverviewT spotCashAcct;
    OesCashAcctOverviewT creditCashAcct;
    OesCashAcctOverviewT optionCashAcct;

    OesInvAcctOverviewT shSpotInvAcct;
    OesInvAcctOverviewT shOptionInvAcct;
    OesInvAcctOverviewT szSpotInvAcct;
    OesInvAcctOverviewT szOptionInvAcct;

    char __reserve[8];
} OesCustOverviewT;
# 1213 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesClientOverview {
    int16 clientId;
    uint8 clientType;
    uint8 clientStatus;
    uint8 isApiForbidden;
    uint8 isBlockTrader;
    uint8 businessScope;
    uint8 __filler;
    int64 logonTime;


    char clientName[(32)];

    char clientMemo[(32)];

    int32 sseStkPbuId;
    int32 sseOptPbuId;
    uint8 sseQualificationClass;
    uint8 __filler2[7];

    int32 szseStkPbuId;
    int32 szseOptPbuId;
    uint8 szseQualificationClass;
    uint8 __filler3[7];

    int32 currOrdConnected;
    int32 currRptConnected;
    int32 currQryConnected;
    int32 maxOrdConnect;
    int32 maxRptConnect;
    int32 maxQryConnect;

    int32 ordTrafficLimit;
    int32 qryTrafficLimit;
    char __reserve[8];

    int32 associatedCustCnt;
    int32 __filler4;


    OesCustOverviewT custItems[(1)];
} OesClientOverviewT;
# 1277 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCommissionRateFilter {

    char custId[(16)];





    uint8 mktId;




    uint8 securityType;




    uint8 bsType;

    uint8 __filler[5];


    int64 userInfo;
} OesQryCommissionRateFilterT;
# 1313 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesCommissionRateItem {

    char custId[(16)];

    char securityId[(16)];


    uint8 mktId;

    uint8 securityType;

    uint8 subSecurityType;

    uint8 bsType;


    uint8 feeType;

    uint8 currType;

    uint8 calcFeeMode;

    uint8 __filler;


    int64 feeRate;

    int32 minFee;

    int32 maxFee;
} OesCommissionRateItemT;
# 1358 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCommissionRateReq {

    OesQryReqHeadT reqHead;

    OesQryCommissionRateFilterT qryFilter;
} OesQryCommissionRateReqT;
# 1376 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryCommissionRateRsp {

    OesQryRspHeadT rspHead;

    OesCommissionRateItemT qryItems[(50)];
} OesQryCommissionRateRspT;
# 1398 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryFundTransferSerialFilter {

    char custId[(16)];

    char cashAcctId[(16)];


    int32 clSeqNo;

    int8 clEnvId;

    uint8 __filler[3];


    int64 userInfo;
} OesQryFundTransferSerialFilterT;
# 1425 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesFundTrsfReportT OesFundTransferSerialItemT;
# 1437 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryFundTransferSerialReq {

    OesQryReqHeadT reqHead;

    OesQryFundTransferSerialFilterT qryFilter;
} OesQryFundTransferSerialReqT;
# 1455 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryFundTransferSerialRsp {

    OesQryRspHeadT rspHead;

    OesFundTransferSerialItemT qryItems[(30)];
} OesQryFundTransferSerialRspT;
# 1477 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryLotWinningFilter {

    char custId[(16)];

    char invAcctId[(16)];





    uint8 mktId;




    uint8 lotType;

    uint8 __filler[6];


    int32 startDate;

    int32 endDate;


    int64 userInfo;
} OesQryLotWinningFilterT;
# 1517 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesLotWinningBaseInfoT OesLotWinningItemT;
# 1529 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryLotWinningReq {

    OesQryReqHeadT reqHead;

    OesQryLotWinningFilterT qryFilter;
} OesQryLotWinningReqT;
# 1547 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryLotWinningRsp {

    OesQryRspHeadT rspHead;

    OesLotWinningItemT qryItems[(30)];
} OesQryLotWinningRspT;
# 1569 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryIssueFilter {

    char securityId[(16)];





    uint8 mktId;





    uint8 productType;


    uint8 __filler[6];


    int64 userInfo;
} OesQryIssueFilterT;
# 1602 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesIssueBaseInfoT OesIssueItemT;
# 1614 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryIssueReq {

    OesQryReqHeadT reqHead;

    OesQryIssueFilterT qryFilter;
} OesQryIssueReqT;
# 1632 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryIssueRsp {

    OesQryRspHeadT rspHead;

    OesIssueItemT qryItems[(30)];
} OesQryIssueRspT;
# 1654 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStockFilter {

    char securityId[(16)];





    uint8 mktId;

    uint8 securityType;

    uint8 subSecurityType;

    uint8 __filler[5];


    int64 userInfo;
} OesQryStockFilterT;
# 1684 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesStockBaseInfoT OesStockItemT;
# 1696 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStockReq {

    OesQryReqHeadT reqHead;

    OesQryStockFilterT qryFilter;
} OesQryStockReqT;
# 1714 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryStockRsp {

    OesQryRspHeadT rspHead;

    OesStockItemT qryItems[(30)];
} OesQryStockRspT;
# 1736 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfFilter {

    char fundId[(16)];





    uint8 mktId;

    uint8 __filler[7];


    int64 userInfo;
} OesQryEtfFilterT;
# 1762 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesEtfBaseInfoT OesEtfItemT;
# 1774 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfReq {

    OesQryReqHeadT reqHead;

    OesQryEtfFilterT qryFilter;
} OesQryEtfReqT;
# 1792 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfRsp {

    OesQryRspHeadT rspHead;

    OesEtfItemT qryItems[(30)];
} OesQryEtfRspT;
# 1814 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfComponentFilter {

    char fundId[(16)];


    int64 userInfo;
} OesQryEtfComponentFilterT;
# 1832 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesEtfComponentItem {

    char securityId[(16)];

    uint8 mktId;

    uint8 subFlag;

    uint8 securityType;

    uint8 subSecurityType;


    int32 prevClose;

    int32 qty;

    int32 premiumRate;


    int64 creationSubCash;

    int64 redemptionCashSub;

    char fundId[(16)];
} OesEtfComponentItemT;
# 1871 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfComponentReq {

    OesQryReqHeadT reqHead;

    OesQryEtfComponentFilterT qryFilter;
} OesQryEtfComponentReqT;
# 1889 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryEtfComponentRsp {

    OesQryRspHeadT rspHead;

    OesEtfComponentItemT
                        qryItems[(30)];
} OesQryEtfComponentRspT;
# 1912 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptionFilter {

    char securityId[(16)];





    uint8 mktId;

    uint8 __filler[7];


    int64 userInfo;
} OesQryOptionFilterT;
# 1938 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesOptionBaseInfoT OesOptionItemT;
# 1950 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptionReq {

    OesQryReqHeadT reqHead;

    OesQryOptionFilterT qryFilter;
} OesQryOptionReqT;
# 1968 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptionRsp {

    OesQryRspHeadT rspHead;

    OesOptionItemT qryItems[(30)];
} OesQryOptionRspT;
# 1990 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptUnderlyingHoldingFilter {

    char custId[(16)];

    char invAcctId[(16)];

    char underlyingSecurityId[(16)];


    uint8 mktId;

    uint8 underlyingSecurityType;

    uint8 __filler[6];


    int64 userInfo;
} OesQryOptUnderlyingHoldingFilterT;
# 2020 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesOptUnderlyingHoldingBaseInfoT OesOptUnderlyingHoldingItemT;
# 2032 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptUnderlyingHoldingReq {

    OesQryReqHeadT reqHead;

    OesQryOptUnderlyingHoldingFilterT qryFilter;
} OesQryOptUnderlyingHoldingReqT;
# 2050 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptUnderlyingHoldingRsp {

    OesQryRspHeadT rspHead;

    OesOptUnderlyingHoldingItemT
                        qryItems[(30)];
} OesQryOptUnderlyingHoldingRspT;
# 2073 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPositionLimitFilter {

    char custId[(16)];

    char invAcctId[(16)];

    char underlyingSecurityId[(16)];


    uint8 mktId;

    uint8 underlyingSecurityType;

    uint8 __filler[6];


    int64 userInfo;
} OesQryOptPositionLimitFilterT;
# 2103 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesOptPositionLimitItem {

    char invAcctId[(16)];

    char underlyingSecurityId[(16)];

    uint8 mktId;


    uint8 underlyingMktId;

    uint8 underlyingSecurityType;

    uint8 underlyingSubSecurityType;

    uint8 __filler1[4];


    int32 longPositionLimit;

    int32 totalPositionLimit;

    int32 dailyBuyOpenLimit;

    int32 __filler2;


    int32 originalLongQty;

    int32 originalShortQty;

    int32 originalCoveredQty;


    int32 availableLongPositionLimit;

    int32 availableTotalPositionLimit;

    int32 availableDailyBuyOpenLimit;


    char __reserve[8];
} OesOptPositionLimitItemT;
# 2161 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPositionLimitReq {

    OesQryReqHeadT reqHead;

    OesQryOptPositionLimitFilterT qryFilter;
} OesQryOptPositionLimitReqT;
# 2179 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPositionLimitRsp {

    OesQryRspHeadT rspHead;

    OesOptPositionLimitItemT
                        qryItems[(30)];
} OesQryOptPositionLimitRspT;
# 2202 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPurchaseLimitFilter {

    char custId[(16)];

    char invAcctId[(16)];





    uint8 mktId;

    uint8 __filler[7];


    int64 userInfo;
} OesQryOptPurchaseLimitFilterT;
# 2231 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesOptPurchaseLimitItem {

    char custId[(16)];

    char cashAcctId[(16)];

    char invAcctId[(16)];

    uint8 mktId;

    uint8 custType;

    uint8 __filler[6];


    int64 purchaseLimit;

    int64 originalUsedPurchaseAmt;

    int64 totalOpenPurchaseAmt;

    int64 frzPurchaseAmt;

    int64 totalClosePurchaseAmt;

    int64 availablePurchaseLimit;
} OesOptPurchaseLimitItemT;
# 2271 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesOptionExerciseAssignBaseT OesOptExerciseAssignItemT;
# 2283 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPurchaseLimitReq {

    OesQryReqHeadT reqHead;

    OesQryOptPurchaseLimitFilterT
                            qryFilter;
} OesQryOptPurchaseLimitReqT;
# 2302 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptPurchaseLimitRsp {

    OesQryRspHeadT rspHead;

    OesOptPurchaseLimitItemT
                            qryItems[(30)];
} OesQryOptPurchaseLimitRspT;
# 2325 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptExerciseAssignFilter {

    char custId[(16)];

    char invAcctId[(16)];

    char securityId[(16)];


    uint8 mktId;

    uint8 positionType;

    uint8 __filler[6];


    int64 userInfo;
} OesQryOptExerciseAssignFilterT;
# 2355 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptExerciseAssignReq {

    OesQryReqHeadT reqHead;

    OesQryOptExerciseAssignFilterT qryFilter;
} OesQryOptExerciseAssignReqT;
# 2373 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryOptExerciseAssignRsp {

    OesQryRspHeadT rspHead;

    OesOptExerciseAssignItemT
                        qryItems[(30)];
} OesQryOptExerciseAssignRspT;
# 2396 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryTradingDayRsp {

    int32 tradingDay;

    int32 __filler;
} OesQryTradingDayRspT;
# 2417 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryMarketStateFilter {




    uint8 exchId;





    uint8 platformId;


    uint8 __filler[6];


    int64 userInfo;
} OesQryMarketStateFilterT;
# 2448 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesMarketStateInfoT OesMarketStateItemT;
# 2460 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryMarketStateReq {

    OesQryReqHeadT reqHead;

    OesQryMarketStateFilterT
                            qryFilter;
} OesQryMarketStateReqT;
# 2479 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryMarketStateRsp {

    OesQryRspHeadT rspHead;

    OesMarketStateItemT qryItems[(30)];
} OesQryMarketStateRspT;
# 2501 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryNotifyInfoFilter {

    char custId[(16)];


    uint8 notifyLevel;

    uint8 __filler[7];


    int64 userInfo;
} OesQryNotifyInfoFilterT;
# 2524 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef OesNotifyBaseInfoT OesNotifyInfoItemT;
# 2536 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryNotifyInfoReq {

    OesQryReqHeadT reqHead;

    OesQryNotifyInfoFilterT
                            qryFilter;
} OesQryNotifyInfoReqT;
# 2559 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesBrokerParamsInfo {

    char brokerName[(128)];

    char brokerPhone[(32)];

    char brokerWebsite[(256)];


    char apiVersion[(40)];

    char apiMinVersion[(40)];

    char clientVersion[(40)];


    int32 changePwdLimitTime;

    int32 minClientPasswordLen;




    int32 clientPasswordStrength;

    uint32 businessScope;


    char __reserve[64];


    union {
        struct {
            int32 withdrawLineRatio;
            int32 __filler;
        } optionExt;

        char __extInfo[192];
    };
} OesBrokerParamsInfoT;
# 2611 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryBrokerParamsInfoRsp {
   OesBrokerParamsInfoT brokerParams;
} OesQryBrokerParamsInfoRspT;
# 2625 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef struct _OesQryNotifyInfoRsp {

    OesQryRspHeadT rspHead;

    OesNotifyInfoItemT qryItems[(30)];
} OesQryNotifyInfoRspT;
# 2647 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef union _OesQryReqMsg {
    OesQryOrdReqT qryOrd;
    OesQryTrdReqT qryTrd;
    OesQryCashAssetReqT qryCashAsset;
    OesQryStkHoldingReqT qryStkHolding;
    OesQryOptHoldingReqT qryOptHolding;
    OesQryCustReqT qryCust;
    OesQryInvAcctReqT qryInvAcct;
    OesQryCommissionRateReqT qryComms;
    OesQryFundTransferSerialReqT qryFundTrsf;
    OesQryLotWinningReqT qryLotWinning;
    OesQryIssueReqT qryIssue;
    OesQryStockReqT qryStock;
    OesQryEtfReqT qryEtf;
    OesQryEtfComponentReqT qryEtfComponent;
    OesQryOptionReqT qryOption;
    OesQryMarketStateReqT qryMktState;
    OesQryNotifyInfoReqT qryNotifyInfo;
    OesQryCounterCashReqT qryCounterCash;
    OesQryOptPositionLimitReqT qryOptPositionLimit;
    OesQryOptPurchaseLimitReqT qryOptPurchaseLimit;
    OesQryOptUnderlyingHoldingReqT qryOptUnderlyingHolding;
    OesQryOptExerciseAssignReqT qryOptExerciseAssign;
} OesQryReqMsgT;
# 2682 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
typedef union _OesQryRspMsg {
    OesQryOrdRspT ordRsp;
    OesQryTrdRspT trdRsp;
    OesQryCashAssetRspT cashAssetRsp;
    OesQryStkHoldingRspT stkHoldingRsp;
    OesQryOptHoldingRspT optHoldingRsp;
    OesQryCustRspT custRsp;
    OesQryInvAcctRspT invAcctRsp;
    OesQryCommissionRateRspT commsRateRsp;
    OesQryFundTransferSerialRspT fundTrsfRsp;
    OesQryLotWinningRspT lotWinningRsp;
    OesQryIssueRspT issueRsp;
    OesQryStockRspT stockRsp;
    OesQryEtfRspT etfRsp;
    OesQryEtfComponentRspT etfComponentRsp;
    OesQryOptionRspT optionRsp;
    OesQryTradingDayRspT tradingDay;
    OesQryMarketStateRspT mktStateRsp;
    OesQryNotifyInfoRspT notifyInfoRsp;
    OesClientOverviewT clientOverview;
    OesQryCounterCashRspT counterCashRsp;
    OesQryOptPositionLimitRspT optPositionLimitRsp;
    OesQryOptPurchaseLimitRspT optPurchaseLimitRsp;
    OesQryOptUnderlyingHoldingRspT optUnderlyingHoldingRsp;
    OesQryOptExerciseAssignRspT optExerciseAssignRsp;
    OesQryBrokerParamsInfoRspT brokerParamsRsp;
} OesQryRspMsgT;
# 2718 "/Users/lostleaf/dev/vnpy_oes/include/oes/oes_global/oes_qry_packets.h"
}